package com.tiance.demo.service.mysql.analyzer;

import com.tiance.demo.service.mysql.utils.ByteUtils;
import com.tiance.demo.service.mysql.bo.FileTailer;

public class FileTailerAnalyzer {

    public static String getHexStringOf(FileTailer fileTailer) {
        byte[] bytes = fileTailer.getBytes();
        return ByteUtils.bytes2HexStr(bytes);
    }

    public static FileTailer analyse(byte[] bytes) {
        FileTailer fileTailer = new FileTailer();
        fileTailer.setBytes(bytes);

        analyseSpaceOrChksum(fileTailer);
        analyseLast4(fileTailer);

        return fileTailer;
    }

    private static void analyseSpaceOrChksum(FileTailer fileTailer) {
        byte[] bytes = new byte[4];
        System.arraycopy(fileTailer.getBytes(), 0, bytes, 0, 4);

        String checkSum = ByteUtils.bytes2HexStr(bytes);
        fileTailer.setSpaceOrChksum(checkSum);
    }

    private static void analyseLast4(FileTailer fileTailer) {
        byte[] bytes = new byte[4];
        System.arraycopy(fileTailer.getBytes(), 4, bytes, 0, 4);
        //TODO
        String last4 = ByteUtils.bytes2HexStr(bytes);
        fileTailer.setLast4(last4);
    }
}
